package com.ruoyi.system.service;

import java.util.List;
import com.ruoyi.system.domain.MoneyRecord;
import com.ruoyi.system.domain.dto.MoneyRecordImportDto;

/**
 * 钞币记录Service接口
 * 
 * @author ruoyi
 * @date 2025-02-21
 */
public interface IMoneyRecordService 
{
    /**
     * 查询钞币记录
     * 
     * @param moneyRecordId 钞币记录主键
     * @return 钞币记录
     */
    public MoneyRecord selectMoneyRecordByMoneyRecordId(Long moneyRecordId);

    /**
     * 查询钞币记录列表
     * 
     * @param moneyRecord 钞币记录
     * @return 钞币记录集合
     */
    public List<MoneyRecord> selectByMy(MoneyRecord moneyRecord);

    /**
     * 新增钞币记录
     * 
     * @param moneyRecord 钞币记录
     * @return 结果
     */
    public int insertMoneyRecord(MoneyRecord moneyRecord);

    /**
     * 修改钞币记录
     * 
     * @param moneyRecord 钞币记录
     * @return 结果
     */
    public int updateMoneyRecord(MoneyRecord moneyRecord);

    /**
     * 批量删除钞币记录
     * 
     * @param moneyRecordIds 需要删除的钞币记录主键集合
     * @return 结果
     */
    public int deleteMoneyRecordByMoneyRecordIds(Long[] moneyRecordIds);

    /**
     * 删除钞币记录信息
     * 
     * @param moneyRecordId 钞币记录主键
     * @return 结果
     */
    public int deleteMoneyRecordByMoneyRecordId(Long moneyRecordId);

    /**
     * 导入时过滤结果
     * @param recordImportDtos
     * @return
     */
    List<MoneyRecordImportDto> filterRecord(List<MoneyRecordImportDto> recordImportDtos);

    /**
     * 批量心中
     * @param moneyRecords
     * @return
     */
    int insertList(List<MoneyRecord> moneyRecords);

    List<MoneyRecord> selectList(MoneyRecord moneyRecord);
}
